package Exercise;

import java.io.File;
import java.io.IOException;
import java.nio.file.FileVisitOption;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;

/**
 * Description：
 * Author: zhangc
 * Date：2017/8/30 19:39
 */
public class OrderFloder {

    public static void orderFile(File file) {
        if (file.isFile() && file.getName().endsWith(".xml"))
            System.out.println(file.getName());
        else if (file.isDirectory()) {
            File[] files = file.listFiles();
            for (File file1 : files) {
                orderFile(file1);
            }
        } else
            return;
    }

    public static List<String> getExtensionFileName(final String path, final String extension) {
        final List<String> lines = new ArrayList<>();
        //对于所有的文件
        try (final Stream<Path> pathStream = Files.walk(Paths.get(path), FileVisitOption.FOLLOW_LINKS)) {
            //过滤出文件以及给定的扩展名
            pathStream
                    .filter((p) -> !p.toFile().isDirectory() && p.toFile().getAbsolutePath().endsWith(extension))
                    //对每一个文件 读取每行的内容
                    .forEach(p -> System.out.println(p.getFileName()));
        } catch (final IOException e) {
        }
        return lines;
    }

    public static void main(String[] args) {
        String path = "G:\\DevelopHouse\\WorkSpace\\IDEA\\jpress\\jpress";
        // orderFile(new File(path));
        getExtensionFileName(path, ".xml");
    }

}
